Secrets Managerについて学べる「A proactive approach to secrets management at scale」に参加してきた #AWSreInvent #SEC234
はじめに
こんにちは。AWS事業本部コンサルティング部に所属している和田響です。
AWS re:Invent 2024にてSecrets Managerについて学べる、LTに参加してきたので、そのセッションレポートを記載します。
セッション情報
- タイトル:SEC234 | A proactive approach to secrets management at scale
- スピーカー:
- Akshay Aggarwal,Sr Product Manager Technical, AWS
- セッション概要: 以下引用
Keep your secrets to yourself. Whether it’s AWS access keys with over-privileged permissions or database passwords hardcoded into your applications, compromised credentials are the most common technique threat actors use to gain unintended access to applications and sensitive data. In this lightning talk, learn strategies you can implement to identify and vault secrets early in the software development lifecycle. Then, explore how you can use vaulted secrets without exposing them. Hear best practices, and discover both traditional and generative AI–based approaches to secrets management.
秘密は秘密にしておきましょう。過剰な権限を持つ AWS アクセスキーであれ、アプリケーションにハードコードされたデータベースパスワードであれ、侵害された認証情報は、脅威アクターがアプリケーションや機密データへの意図しないアクセスを取得するために使用する最も一般的な手法です。このライトニングトークでは、ソフトウェア開発ライフサイクルの早い段階で秘密を特定して保管するために実装できる戦略を学びます。次に、保管された秘密を公開せずに使用する方法を探ります。ベストプラクティスを聞き、秘密管理に対する従来のアプローチと生成 AI ベースのアプローチの両方を発見します。
学んだこと
クレデンシャルのハードコードについて
クレデンシャルのハードコードすることによる危険性は、OWASP Top 25のセキュリティリスクにおいても指摘されています。
セキュリティリスクの他にも、ローテーションや権限管理が難しいといった問題があります。
AWSにおいてはSecrets Managerを使用することでこれらの問題を解消できます。
また、IDEでAmazon Q Developerを使用することで、コード内にあるハードコードされたクレデンシャルを特定し指摘してくれます。
Secrets Manager Agentについて
Secrets Manager Agentを使うことで以下のようなメリットがあります。
- メモリキャッシュによる低遅延
- シークレットはエージェント内でキャッシュされ、アプリケーションがSecrets Managerに直接アクセスする必要がなくなる
- シークレットがローテーションされた場合でも、キャッシュに更新されたシークレットが自動反映される
- 言語に依存しない
- HTTPベースで動作するため、Java、Python、Ruby、Goなど、どのプログラミング言語でも利用可能
- 異なる言語環境間で統一的に利用可能
- SSRF対策
- デフォルトの機能でSSRF攻撃を防止できる
- 高いカスタマイズ性
- キャッシュ時間(TTL)やログレベル、使用するリージョン、キャッシュするシークレット数などをカスタマイズ可能
Secrets Manager AgentはソースコードがGithubに公開されているので導入のハードルは低めです!
GuardDutyとの連携
GuardDutyはSecrets Managerの異常な呼び出しを検出することができます。
GuardDutyの検出をトリガーにEメール等に通知をするEventBridgeルールを作成することで、異常時の発見を早期にできるようにするのも重要です。
最後に
今回はSecrets Managerについて学べるLTを振り返ってみました。
なんとなく知っているサービスでしたが、Secrets Manager Agentの存在など新たな発見もありよかったです!